1293D - Aroma's Search - CodeForces Solution


brute force constructive algorithms implementation *1700

Please click on ads to support us..

Python Code:

import sys, math
import heapq

from collections import deque

input = sys.stdin.readline

hqp = heapq.heappop
hqs = heapq.heappush


def ip(): return int(input())
def sp(): return str(input().rstrip())

def mip(): return map(int, input().split())
def msp(): return map(str, input().split().rstrip())

def lmip(): return list(map(int, input().split()))
def lmsp(): return list(map(str, input().split().rstrip()))


def gcd(x, y):
    while y:
        x, y = y, x % y
    return x


def lcm(x, y):
    return x * y // gcd(x, y)


def isPrime(x):
    if x <= 1: return False
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            return False
    return True



def find(x):
    if x == p[x]:
        return x
    q = find(p[x])
    p[x] = q
    return q


def union(x, y):
    x = find(x)
    y = find(y)

    if x != y:
        p[y] = x


def getPow(a, x):
    ret = 1
    while x:
        if x & 1:
            ret = (ret * a) % MOD
        a = (a * a) % MOD
        x >>= 1
    return ret



def d(x, y):
    return abs(a[x] - a[y]) + abs(b[x] - b[y])

maxT = 10**17

x0, y0, ax, ay, bx, by = mip()
xs, ys, t = mip()

a = [x0]
b = [y0]

while ax * a[-1] + bx <= maxT and ay * b[-1] + by <= maxT:
    a.append(ax * a[-1] + bx)
    b.append(ay * b[-1] + by)

ans = 0
for k in range(len(a)):
    for l in range(len(a)):
        for r in range(l, len(a)):
            f = abs(xs - a[k]) + abs(ys - b[k])
            if d(k, l) + d(l, r) + f <= t or d(k, r) + d(l, r) + f <= t:
                ans = max(ans, r - l + 1)

print(ans)



Comments

Submit
0 Comments
More Questions

1384A - Common Prefixes
371A - K-Periodic Array
1542A - Odd Set
1567B - MEXor Mixup
669A - Little Artem and Presents
691B - s-palindrome
851A - Arpa and a research in Mexican wave
811A - Vladik and Courtesy
1006B - Polycarp's Practice
1422A - Fence
21D - Traveling Graph
1559B - Mocha and Red and Blue
1579C - Ticks
268B - Buttons
898A - Rounding
1372B - Omkar and Last Class of Math
1025D - Recovering BST
439A - Devu the Singer and Churu the Joker
1323A - Even Subset Sum Problem
1095A - Repeating Cipher
630F - Selection of Personnel
630K - Indivisibility
20B - Equation
600B - Queries about less or equal elements
1015A - Points in Segments
1593B - Make it Divisible by 25
680C - Bear and Prime 100
1300A - Non-zero
1475E - Advertising Agency
1345B - Card Constructions